#ifndef CIRCLE_PATHS_H
#define CIRCLE_PATHS_H

#include <string>
#include <filesystem>

namespace Circle {
    class Paths {
    private:
        // 查找项目根目录的私有方法
        static std::string findProjectRoot();
        // 延迟初始化根目录
        static std::string getRoot();

    public:

        static std::string __ROOT__;
        static std::string __CONFIG__;
        static std::string __LANG__;
        static std::string __LOG__;
        static std::string __MODULES__;

        // 静态初始化块，在程序启动时初始化路径
        static struct Initializer {
            Initializer();
        } initializer;
    };
}

#endif //CIRCLE_PATHS_H
